Programming Language Array Constructs For Parallel Relative Debugging
نویسندگان
چکیده
Relative debugging is a technique which addresses the problem of debugging programs developed using evolutionary software techniques. Recent developments allow relative debugging to be used on programs that have been ported from serial to parallel architectures. Such programs may change significantly in the porting process, and this raises many issues for the debugging process. This paper examines the issues of array data and code transformations that occur in these situations, and proposes an algebra for expressing the changes to the data representation. A series of programming language constructs are defined, implemented as extensions to the command language of our existing debugger, GUARD95, that allow the comparison of data between two, otherwise, different programs.
منابع مشابه
The HPCVL Working Template: A Development Tool for Parallel Programming
This manual explains the structure and usage of the HPCVL Working Template for parallel programming that was developed by Gang Liu. The HPCVL Working Template (in the following abbreviated to HWT) is a set of scripts and routines that provide a simple and portable tool for version maintenance, timing and automatic relative debugging of programs that are designed to run on parallel computers. Th...
متن کاملRelative debugging for data-parallel programs: a ZPL case study
programs that execute on different platforms. By employing an architectureindependent implementation layer, the debugger is able to hide variations in data representation on these different platforms from the user. The case study we report represents the first time a relative debugger has been used to locate errors by comparing one program written in a data-parallel language to another written ...
متن کاملAssigning Blame: Mapping Performance to High Level Parallel Programming Abstractions
Parallel programs are increasingly being written using programming frameworks and other environments that allow parallel constructs to be programmed with greater ease. The data structures used allow the modeling of complex mathematical structures like linear systems and partial differential equations using high-level programming abstractions. While this allows programmers to model complex syste...
متن کاملCompiling and Optimizing Dynamic Parallel Programs
Data parallelism is an array based programming model that achieves massive parallelism through the lock-step execution of individual instructions simultaneously on all members of a parallel array. The semantics of data parallel programming languages are designed for extremely fine grained parallelism (on the level of a single arithmetic instruction), with tight synchronization. Data parallel la...
متن کاملHardware/software optimization for array & pointer boundary checking against buffer overflow attacks
Malicious intrusions by buffer overflow attacks cause serious security problems and pose serious threats for networks and distributed systems such as clusters, Grids and P2P systems. Array & pointer boundary checking is one of the most effective approaches for defending against buffer overflow attacks. However, a big performance overhead may occur after boundary checking is applied. Typically, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998